package demo;

import java.util.Random;
import java.util.Scanner;

public class Test23 {
    public static void main(String[] args) {
        //生成一个 1-100 之间随机数
        // while (true){ 当循环写在此处时，每次都会产生一个新的随机数。好玩
        Random r = new Random();
        int number = r.nextInt(100) +1;
        System.out.println(number); //输出生成的随机数
        //键盘录入猜这个数
        Scanner sc = new Scanner(System.in);
        while (true){
            System.out.print("请输入要猜数: ");
            int guessNumber = sc.nextInt();
            if (guessNumber > number){
                System.out.println("猜大了");
            }else if(guessNumber < number){
                System.out.println("猜小了");
            }else{
                System.out.println("恭喜你，猜中了");
                break;
            }
        }
    }
}
//需求：程序自动生成一个1-100之间的随机数，在代码中使用键盘录入去猜出这个数字是多少？
//要求:使用循环猜，一直猜中为止。

/*新知识，生成随机的数。使用方法 Random 与 Scanner 类似
技巧：(bound：100)，小括号中是生成随机数的范围，其中bound是系统生成的提示，不真实存在
小括号中范围从0开始，到这个数减一结束，括号范围 左闭右开，如该例子范围为：0~99

如果要生成 1~100 则需写成 (bound：100)+1，格式
生成任意随机数技巧，让这个范围头尾都减去一个值，使这个范围为从0开始，最后在尾巴加减去的值
例：生成随机数 7-15，需要减去7，变为范围 0-8，格式为 (bound：9)，此时范围为0-8
在末尾加 7，格式为 (bound：9)+7，此时范围为 7-15
* */
